home *** CD-ROM | disk | FTP | other *** search
- Linux Soundblaster 16 PnP Mini-Howto
- by Eric Z. Ayers <Eric.Ayers@compgen.com>
- v1.0, 14 January 1997
-
- To my delight, my wife gave me a shiny new soundcard for my birthday.
- Unfortunately, it was a Soundblaster 16 PnP which refused to work under
- Linux. In fact, my 3com 3c509 would not work under Linux either.
-
- I finally got my hardware working, with the Linux sound driver that comes
- with the kernel and the isapnp package from
- ftp://ftp.redhat.com/pub/utils/isapnptools-1.8.tgz
-
- It turns out that there were 2 major obstacles I faced to get the soundcard
- to work. The first obstacle was that I didn't know the IRQ's and IO ports
- to talk to the sound card. That is solved with the isapnptools package. The
- second problem was with the 3c509 ethernet card. It seemed that no matter
- how I changed the settings on the card, the Linux kernel would not recognize
- the ethernet card. It turns out that there is a device on the sound card
- which is in conflict with the 3c509 probing code.
-
-
- 1) Install the isapnp package. Edit /etc/isapnp.conf so that the IRQ and IO
- ports the sound cards use don't conflict with any of your other devices.
-
- 2) Build the linux kernel. Build the sound support as a Module at the IRQ,
- IO and DMA adresses configured in isapnp.conf. Also build your 3c509
- driver as a module. (Don't forget to run make modules and
- make modules_install after compiling and installing your kernel)
-
- 3) Modify the boots scripts on your system.
-
- I am running a Slackware installation and kernel revision 2.0.23. Before
- the network is configured, I run the isapnp program (in /etc/rc.d/rc.M right
- after the hostname is set:
-
-
- # EZA
- # Setup plug and play devices
- /sbin/isapnp /etc/isapnp.conf
-
-
- Then, the first thing in /etc/rc.d/rc.inet1 I load the network driver
-
-
- # EZA
- # Load networking card module
- /sbin/insmod 3c509
-
- I just ignore the warning at boot time that run-time probing for the
- ethernet card won't work because it has never failed for me. Finally,
- in /etc/rc.d/rc.local I insert the sound driver module:
-
-
- /sbin/insmod sound
-
-
- More information about Linux plug and play is available from:
- http://www.redhat.com/linux-info/pnp/
- I'm now happly surfing the net using the Real-Audio player and listening
- to CDs on my cdrom drive!
-
- Eric Ayers
- eric.ayers@compgen.com
-
- ---------------------------------------------------------------------------
- Here's a copy of my isapnp.conf file with most of the comments removed.
-
- # Trying port address 0203
- # Board 1 has serial identifier 67 00 00 40 17 2b 00 8c 0e
-
- # (DEBUG)
- (READPORT 0x0203)
- (ISOLATE)
- (IDENTIFY *)
-
- # Card 1: (serial identifier 67 00 00 40 17 2b 00 8c 0e)
- # CTL002b Serial No 16407 [checksum 67]
- # Version 1.0, Vendor version 2.0
- # ANSI string -->Creative SB16 PnP<--
- #
- # Logical device id CTL0031
- #
- # Edit the entries below to uncomment out the configuration required.
- # Note that only the first value of any range is given, this may be changed if required
- # Don't forget to uncomment the activate (ACT Y) when happy
-
- (CONFIGURE CTL002b/16407 (LD 0
- # ANSI string -->Audio<--
-
- # Multiple choice time, choose one only !
-
- # Start dependent functions: priority preferred
- # IRQ 5.
- # High true, edge sensitive interrupt (by default)
- (INT 0 (IRQ 5 (MODE +E)))
- (DMA 0 (CHANNEL 1))
- (DMA 1 (CHANNEL 5))
- (IO 0 (BASE 0x0220))
- (IO 1 (BASE 0x0330))
- (IO 2 (BASE 0x0388))
- (ACT Y)
- ))
-
- (CONFIGURE CTL002b/16407 (LD 1
- (INT 0 (IRQ 11 (MODE +E)))
- (IO 0 (BASE 0x01e8))
- (IO 1 (BASE 0x03ee))
- (ACT Y)
- ))
-
-
- (CONFIGURE CTL002b/16407 (LD 2
- # ANSI string -->StereoEnhance<--
- # Logical device decodes 16 bit IO address lines
- # Minimum IO base address 0x0100
- # Maximum IO base address 0x0138
- # IO base alignment 8 bytes
- # Number of IO addresses required: 1
- #(IO 0 (BASE 0x0100))
- #(ACT Y)
- ))
-
-
- (CONFIGURE CTL002b/16407 (LD 3
- (IO 0 (BASE 0x0200))
- (ACT Y)))
-
-